﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <meta name="description" content="description" />
    <meta name="keywords" content="keywords" />
    <meta name="author" content="author" />
    <link rel="stylesheet" type="text/css" href="img/default.css" media="screen" />
    <title>梦之龙</title>
    <link rel="shortcut ico" href="/favicon.ico" />
    <link rel="bookmark" href="/favicon.ico" />
</head>

<body>

    <div class="outer-container">

        <div class="inner-container">

            <div class="header">

                <div class="title">

                    <span class="sitename"><a href="index.html">Marlon个人技术博客</a></span>
                    <div class="slogan">Net socket 代码生成 工作流</div>

                </div>

            </div>

            <div class="path">

                <a href="index.html">首页</a> &#8250; <a href="index.html">Net平台ExcelHelper使用方法</a>

            </div>

            <div class="main">

                <div class="content">

                    <!-- 主标题 -->
                    <h1>Net平台ExcelHelper使用方法</h1>
                    <!-- 作者、时间信息 -->
                    <div class="descr">2019-12-19 by Marlon</div>
                    <!-- 引用 -->
                    <blockquote>
                        <p>

                        </p>
                    </blockquote>
                    <p>
                        通过预先定义好模型类，为字段配置好特性，包括字段名、是否为空、备注信息、导入时数据验证规则、导出时格式化格式，即可非常简单的使用以下功能
                    </p>
                    <ul>
                        <li>导出模板文件</li>
                        <li>导入数据</li>
                        <li>导出</li>
                    </ul>

                    <!-- 定义模型类 -->
                    <h2>定义模型类</h2>
                    <p>
                        
                        <ul>
                            <li>可定义字段列的标题名</li>
                            <li>可定义字段列的备注</li>
                            <li>可定义字段列的宽度</li>
                            <li>可定义初步的数据验证规则，此处可在导入时做进一步的验证。</li>
                            <li>支持多组数据验证规则</li>
                            <li>可定义数据导出时的格式</li>
                        </ul>
                    </p>
                    <code>
                        public class ExcelTestModel
                        {
                        [ExcelColumn("序号", IsAllowNull = false)]
                        [ExcelCellValueCheck(CheckType = ExcelCellValueCheckType.Range,MinValue = 0, MaxValue = 100000.0)]
                        public long Id { get; set; }

                        [ExcelColumn("姓名", IsAllowNull = false)]
                        [ExcelCellValueCheck(CheckType = ExcelCellValueCheckType.Range,MinValue = 0, MaxValue = 10)]
                        public string Name { get; set; }

                        [ExcelColumn("年龄")]
                        [ExcelCellValueCheck(CheckType = ExcelCellValueCheckType.Range,MinValue = 0, MaxValue = 150)]
                        public int Age { get; set; }

                        [ExcelColumn("生日")]
                        [ExcelCellValueFormat(FormatType = ExcelCellValueFormatType.DateCn)]
                        public DateTime Birthday { get; set; }

                        [ExcelColumn("体重")]
                        [ExcelCellValueCheck(CheckType = ExcelCellValueCheckType.Range, MinValue = 0, MaxValue = 100)]
                        public float Weight { get; set; }

                        [ExcelColumn("身高")]
                        [ExcelCellValueCheck(CheckType = ExcelCellValueCheckType.Range,MinValue = 0, MaxValue = 30)]
                        public decimal Height { get; set; }

                        [ExcelColumn("钱包")]
                        [ExcelCellValueCheck(CheckType = ExcelCellValueCheckType.Range,MinValue = 0)]
                        public double Money { get; set; }

                        }
                    </code>
                    <p></p>

                    <!-- 导出Excel模板文件 -->
                    <h2>导出Excel模板文件</h2>
                    <p>
                        导出的Excel模板由备注行、标题行、内容区组成。                        
                    </p>
                    <code>
                        filePhyName = Server.MapPath(fileName);
                        var excelHelper = new ExcelHelper&lt;Excel_EnterpriceInfo&gt;();
                        excelHelper.OutputTemplate(filePhyName);

                    </code>
                    <p></p>

                    <!-- 导入数据 -->
                    <h2>导入数据</h2>
                    <p>
                        调用ImportDatas方法实现Excel文件中数据的导入，前提是Excel文件是基于上一步导出的Excel模板文件填充的数据。
                        参数有导入文件路径、标题行索引、输出错误信息的Excel文件路径、导入后数据的处理方法、导入的数据、导入后的结果。
                    </p>
                    <code>
                        List&lt;Excel_EnterpriceInfo&gt; lsData;
                        var excelHelper = new ExcelHelper&lt;Excel_EnterpriceInfo&gt;();
                        excelHelper.ImportDatas(fileFullName, 0, 1, 0, errFileFullName, DoEnterpriseImport,
                        out lsData, out lsImportResult);

                        bool DoEnterpriseImport(List&lt;Excel_EnterpriceInfo&gt; lsData, List&lt;ExcelRowImportResult&gt; lsImportResult)
                        {

                        }
                    </code>
                    <p></p>

                    <!-- 导出数据 -->
                    <h2>导出数据</h2>
                    <p>
                       调用SimpleExportDatas方法可实现简单的数据导出功能。
                    </p>
                    <code>
                        List&lt;Excel_EnterpriceInfo&gt; lsData;
                        SimpleExportDatas(targetFilePath, sheetName, titleRowIndex, contentColumnIndex,  lsData)
                    </code>
                    <p></p>
                </div>

                <div class="navigation">

                    <h2>Net后台系列</h2>
                    <ul>
                        <li><a href="index.html">基于T4模板的代码自动生成</a></li>
                    </ul>

                    <h2>Web前端系列</h2>
                    <ul>
                        <li><a href="index.html">暂时木有</a></li>
                    </ul>

                    <h2>工作流系列</h2>
                    <ul>
                        <li><a href="index.html">流程图绘制</a></li>
                    </ul>

                </div>

                <div class="clearer">&nbsp;</div>

            </div>

            <div class="footer">
                <span class="left">
                    <strong>CopyRight</strong> &copy; 2019
                </span>
                <span class="center">
                    <a href="http://www.beian.miit.gov.cn" target="_blank">粤ICP备18089031号-1</a>
                </span>
                <span class="right">
                    <a href="index.html">Home</a> |
                    <a target="_blank" href="http://www.tinygrass.tech">TinygrassTech</a>
                </span>
                <div class="clearer">  </div>
            </div>

        </div>

    </div>

</body>

</html>